package com.xxx.springboot.spi;

import java.util.ServiceLoader;

/**
 * SPI机制：5.测试
 * 在resources目录下，创建META-INF/services目录，
 * 创建文件：com.xxx.springboot.spi.Flyable，文件名为接口全限定名，文件内容为实现类全限定名：com.xxx.springboot.spi.impl.Eagle
 * 分别替换不同的实现类，可以发现执行了相应的接口实现类。也可以同时存在。
 * @author guwq
 * @since 2021/5/10
 */
public class TestSPI {

    public static void main(String[] args) {
        ServiceLoader<Flyable> serviceLoader = ServiceLoader.load(Flyable.class);
        for(Flyable flyable : serviceLoader){
            flyable.fly();
        }

    }

}
